var BASE={
	//一键压缩
	yasuo:function(file,callback){
		var url=BASE.get_imgurll(file);
		BASE.toBase64(url,function(res){
			BASE.dealImage(res,800,function(res){
				callback(res)
			})
		})
		
	},
	//获取input url
	get_imgurll:function($file){
		var fileObj = $file[0];
		var windowURL = window.URL || window.webkitURL;
		var dataURL;
		if (fileObj && fileObj.files && fileObj.files[0]) {
			dataURL = windowURL.createObjectURL(fileObj.files[0]);
		} else {
			dataURL = $file.val();
			var imgObj = document.getElementById("preview");
			imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
			imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;
		}
		return dataURL;
	},
	//获取input url
	get_imgurl:function(inp,callback){
		inp.change(function(e) {
			// console.log(e.target.value)
			var $file = $(this);
			var fileObj = $file[0];
			var windowURL = window.URL || window.webkitURL;
			var dataURL;
			if (fileObj && fileObj.files && fileObj.files[0]) {
				dataURL = windowURL.createObjectURL(fileObj.files[0]);
			} else {
				dataURL = $file.val();
				var imgObj = document.getElementById("preview");
				imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
				imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;
			}
			callback(dataURL);
		});
	},
	//图片转base64
	toBase64:function (img,callback) {
		function getBase64Image(img) {  
			 var canvas = document.createElement("canvas");  
			 canvas.width = img.width;  
			 canvas.height = img.height;  
			 var ctx = canvas.getContext("2d");  
			 ctx.drawImage(img, 0, 0, img.width, img.height);  
			 var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();  
			 var dataURL = canvas.toDataURL("image/"+ext);  
			 return dataURL;  
		}  
		var image = new Image();  
		image.src = img;  
		image.onload = function(){  
			var base64 = getBase64Image(image);  
			callback(base64);
		}  
	},
	//压缩图片方法
	dealImage:function(base64, w, callback) {
		if(base64.length>102400){
			var newImage = new Image();
			var quality = 0.3;    //压缩系数0-1之间
			newImage.src = base64;
			newImage.setAttribute("crossOrigin", 'Anonymous');	//url为外域时需要
			var imgWidth, imgHeight;
			newImage.onload = function () {
				imgWidth = this.width;
				imgHeight = this.height;
				var canvas = document.createElement("canvas");
				var ctx = canvas.getContext("2d");
				if (Math.max(imgWidth, imgHeight) > w) {
					if (imgWidth > imgHeight) {
						canvas.width = w;
						canvas.height = w * imgHeight / imgWidth;
					} else {
						canvas.height = w;
						canvas.width = w * imgWidth / imgHeight;
					}
				} else { 
					canvas.width = imgWidth;
					canvas.height = imgHeight;
					quality = 0.6;
				}
				ctx.clearRect(0, 0, canvas.width, canvas.height);
				ctx.drawImage(this, 0, 0, canvas.width, canvas.height);
				var base64 = canvas.toDataURL("image/jpeg", quality); //压缩语句
				// 如想确保图片压缩到自己想要的尺寸,如要求在50-150kb之间，请加以下语句，quality初始值根据情况自定
				// while (base64.length / 1024 > 150) {
				// 	quality -= 0.01;
				// 	base64 = canvas.toDataURL("image/jpeg", quality);
				// }
				// 防止最后一次压缩低于最低尺寸，只要quality递减合理，无需考虑
				// while (base64.length / 1024 < 50) {
				// 	quality += 0.001;
				// 	base64 = canvas.toDataURL("image/jpeg", quality);
				// } 
				callback(base64);//必须通过回调函数返回，否则无法及时拿到该值
				//使用压缩
				// dealImage(oldBase64, 800, printing);
				// function printing(base64) {
				// 	console.log(JSON.stringify(base64.length/1024))
				// 	console.log(JSON.stringify(base64))
				// }
			}
		}else{
			callback(base64);
		}	
	}
}